The use of remote computing services, such as remote program execution and remote data storage, has greatly increased in recent years. Customers may reduce expenses and overhead by purchasing these services from a computing resource service provider (also referred to as a service provider). Customer applications may be distributed over multiple virtual machine instances and computing systems. The virtual machine instances may be controlled by a hypervisor operating on a computing system. The hypervisor may expose one or more logical volumes to the virtual machine instances. The logical volumes may be implemented by one or more data storage servers using one or more block-level storage devices. The data storage servers implementing the logical volumes may be distributed over various geographical regions. Furthermore, the logical volume may be duplicated on a plurality of the data storage servers. The service provider may ensure that the duplicate volume contains the same information and when customers modify the logical volume the modifications are reflected in each duplicate logical volume.
To reduce cost the computing resource service provider may oversubscribe the computing resources used to provide customers with remote program execution and remote data storage. However, oversubscription of computing resources may cause degradation in service to customers during intervals of heavy customer activity. The computer resources that provide services to customers may employ various techniques to protect the computer resources from an overwhelming number of service requests that could potentially overload the computer resources. In general, a computer resource is considered to be in an “overloaded” state if it is not able to provide the expected quality of service for at least some portion of customer requests it receives. Furthermore different hardware and software configurations of the computing resources used to provide remote program execution and remote data storage may affect performance and degradation of the computing resources during intervals of heavy utilization. It may be difficult for the computing resource service provider to determine which combinations of hardware and software configurations will perform the best for the given situation or have a higher risk of performance degradation, for example during intervals of heavy utilization by customers of the computing resource service provider.